package com.winsdom.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 操作日志工具类，用于记录操作日志到文件
 */
public class OperationLogUtil {
    // 使用专门的Logger记录操作日志
    private static final Logger operationLogger = LoggerFactory.getLogger("com.winsdom.operation");

    /**
     * 记录操作日志
     * @param userId 用户ID
     * @param ipAddress IP地址
     * @param operation 操作功能
     * @param description 操作描述
     */
    public static void log(Integer userId, String ipAddress, String operation, String description) {
        String logMessage = String.format("用户ID: %s, IP地址: %s, 操作功能: %s, 描述: %s", 
                userId, ipAddress, operation, description);
        operationLogger.info(logMessage);
    }
    
    /**
     * 记录操作日志（带异常信息）
     * @param userId 用户ID
     * @param ipAddress IP地址
     * @param operation 操作功能
     * @param description 操作描述
     * @param e 异常信息
     */
    public static void log(Integer userId, String ipAddress, String operation, String description, Throwable e) {
        String logMessage = String.format("用户ID: %s, IP地址: %s, 操作功能: %s, 描述: %s, 异常: %s", 
                userId, ipAddress, operation, description, e.getMessage());
        operationLogger.error(logMessage, e);
    }
}